

// Decompiler options: packimports(3) fieldsfirst ansi 
// Source File Name:   eh.java

package com.zelix;

import java.util.HashMap;
import java.util.Hashtable;

// Referenced classes of package com.zelix:
//            ch, fh, dd, vp, 
//            sx, oy, py, tb, 
//            ih, qy

class eh extends ch
{

    boolean n;
    String r;
    vp o;
    Hashtable p;
    Hashtable q;
    private static String z;

    eh(ih ih, boolean flag, String s, int i, int j, Hashtable hashtable, qy qy, 
            Hashtable hashtable1)
    {
        super(ih, hashtable, qy, hashtable1, i, j);
        p = new Hashtable();
        q = new Hashtable();
        n = flag;
        if(flag)
            o = new vp(1);
        r = s;
    }

    private String a(String s, String s1, String s2, String s3, HashMap hashmap)
    {
        String s5 = "";
        if(s.equals(""))
            s5 = b(s1);
        String s4;
        do
            s4 = s5 + s + s2 + a(s5, s, s1, hashmap) + s3;
        while(!a(s1, s4));
        return s4;
    }

    String a(fh fh1)
    {
        String s;
        String s1;
label0:
        {
            py py1 = super.l.b(fh1.c());
            if(py1 != null)
            {
                s = (String)py1.b();
                s1 = (String)py1.c();
                if(!tb.b)
                    break label0;
            }
            s = "";
            s1 = "";
        }
        return a("", fh1.d(), s, s1, ((HashMap) (null)));
    }

    String a(fh fh1, String s, HashMap hashmap, String s1, py py1)
    {
        String s2;
        String s3;
label0:
        {
            if(py1 != null)
            {
                s2 = (String)py1.b();
                s3 = (String)py1.c();
                if(py1.a() != null)
                    break label0;
                s2 = s2 + z;
                if(!tb.b)
                    break label0;
            }
            s2 = "";
            s3 = "";
        }
        String s4 = a(s, s1, s2, s3, hashmap);
        super.e.put(s4, s4);
        return s4;
    }

    private String a(String s, String s1, String s2, HashMap hashmap)
    {
        String s3 = r == null ? "" : r;
        if(s1.equals(""))
        {
            sx sx1 = (sx)p.get(s);
            if(sx1 == null)
            {
                sx1 = new sx(-1);
                p.put(s, sx1);
            }
            if(n)
            {
                String s4 = null;
                do
                    s4 = o.a(sx1.c(), r);
                while(s4 == null);
                return s4;
            } else
            {
                return s3 + String.valueOf(sx1.c());
            }
        }
        sx sx2 = (sx)q.get(s1);
        if(sx2 == null)
        {
            sx2 = new sx(-1);
            q.put(s1, sx2);
        }
        if(n && !oy.a(s2))
        {
            String s5 = null;
            do
            {
                s5 = o.a(sx2.c(), r);
                if(s5 != null)
                    s5 = s5 + "_";
            } while(s5 == null || hashmap != null && hashmap.containsValue(s5));
            return s5;
        }
        String s6 = null;
        do
            s6 = s3 + String.valueOf(sx2.c());
        while(hashmap != null && hashmap.containsValue(s6));
        return s6;
    }

    private static String z(char[] chs) {
        byte key = 0;
        for (int i = 0; i < chs.length; i++) {
            switch (i % 5) {
                case 0:
                    key =0x27;
                    break;
                case 1:
                    key =34;
                    break;
                case 2:
                    key =7;
                    break;
                case 3:
                    key =3;
                    break;
                case 4:
                    key =8;
                    break;
            }
            chs[i] ^= key;
        }
        return new String(chs).intern();
    }

    static
    {
        z = z("]X}y".toCharArray());
    }
}